# coding: utf-8
class NodeTree:
    #Atributos da classe nó.
    def __init__ (self, data):
        self.left = None #Filho esquerdo.
        self.right = None #Filho direito.
        self.father = None #Pai.
        self.data = data #Dado.
        self.color = None #Cor.

    #Gets e sets da classe nó para exibir e atribuir valores aos atributos.
    def getData (self):
        return self.data

    def setData (self, value):
        self.data = value

    def getColor (self):
        return self.color

    def setColor (self, value):
        self.color = value

    def getLeft (self):
        return self.left

    def setLeft (self, value):
        self.left = value

    def getRight (self):
        return self.right

    def setRight(self, value):
        self.right = value
        
    def getFather (self):
        return self.father

    def setFather (self,value):
        self.father = value

    def getBrother (self, value):
        newNode = NodeTree(value)
        if newNode.getFather() == None:
            return False
        if newNode.isLeft():
            return newNode.getRight(newNode.getFather())
        return newNode.getLeft(newNode.getFather())

    #Método para saber se o nó é filho esquerdo de alguém.
    def isLeft (self, value):
        newNode = NodeTree(value)
        q = newNode.getFather()
        if q == None:
            return False
        if q.getLeft() == newNode:
            return True
        return False

    #Método para saber se o nó é filho direito de alguém.
    def isRight (self, value):
        newNode = NodeTree(value)
        q = newNode.getFather()
        if q == None:
            return False
        if q.getRight() == newNode:
            return True
        return False

    

